home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / mintprgs / mintupgr / disk7.zoo / elvis.zoo / usr / doc / elvis / ex.doc < prev    next >
Text File  |  1992-08-12  |  20KB  |  661 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _3.  _C_O_L_O_N _M_O_D_E _C_O_M_M_A_N_D_S
  8.  
  9.         LINES               COMMAND   ARGUMENTS
  10.                             ab[br]    [short] [expanded form]
  11.         [line]              a[ppend][!]
  12.                             ar[gs]    [files]
  13.                             cc        [files]
  14.                             cd[!]     [directory]
  15.         [line][,line]       c[hange]
  16.                             chd[ir][!][directory]
  17.         [line][,line]       co[py]    line
  18.                             col[or]   [when] [[light] color] [on color]
  19.         [line][,line]       d[elete]  [x]
  20.                             dig[raph][!][XX [Y]]
  21.                             e[dit][!] [file]
  22.                             er[rlist][!][errlist]
  23.                             f[ile]    [file]
  24.         [line][,line]       g[lobal]  /regexp/ command
  25.         [line]              i[nsert]
  26.         [line][,line]       j[oin][!]
  27.         [line][,line]       l[ist]
  28.                             mak[e]    [target]
  29.                             map[!]    key mapped_to
  30.         [line]              ma[rk]    x
  31.                             mk[exrc]
  32.         [line][,line]       m[ove]    line
  33.                             n[ext][!] [files]
  34.                             N[ext][!]
  35.         [line][,line]       nu[mber]
  36.         [line][,line]       p[rint]
  37.         [line]              pu[t]     [x]
  38.                             q[uit][!]
  39.         [line]              r[ead]    file
  40.                             rew[ind][!]
  41.                             se[t]     [options]
  42.                             so[urce]  file
  43.         [line][,line]       s[ubstitute]/regexp/replacement/[p][g][c]
  44.                             ta[g][!]  tagname
  45.                             una[bbr]  [short]
  46.                             u[ndo]
  47.                             unm[ap][!]key
  48.                             ve[rsion]
  49.         [line][,line]       v[global] /regexp/ command
  50.                             vi[sual]  [filename]
  51.                             wq
  52.         [line][,line]       w[rite][!][[>>]file]
  53.                             x[it][!]
  54.         [line][,line]       y[ank]    [x]
  55.         [line][,line]       !         command
  56.         [line][,line]       <
  57.         [line][,line]       =
  58.         [line][,line]       >
  59.         [line][,line]       &
  60.                             @          x
  61.  
  62.  
  63.  
  64.                       August 10, 1992
  65.  
  66.  
  67.  
  68.  
  69.  
  70. 3-2                 COLON MODE COMMANDS                  3-2
  71.  
  72.  
  73.      To use colon mode commands, you must switch from visual
  74. command  mode  to  colon command mode.  The visual mode com-
  75. mands to do this are ":" for a single colon command, or  "Q"
  76. for many colon mode commands.
  77.  
  78. _3._1.  _L_i_n_e _S_p_e_c_i_f_i_e_r_s
  79.  
  80.      Line specifiers are always optional.   The  first  line
  81. specifier  of  most commands usually defaults to the current
  82. line.  The second line specifier usually defaults to be  the
  83. same  as  the  first line specifier.  Exceptions are :write,
  84. :global, and :vglobal, which act on all lines of the file by
  85. default, and :!, which acts on no lines by default.
  86.  
  87.      Line specifiers consist of an absolute part and a rela-
  88. tive  part.   The  absolute  part of a line specifier may be
  89. either an explicit line number, a mark, a dot to denote  the
  90. current  line,  a dollar sign to denote the last line of the
  91. file, or a forward or backward search.
  92.  
  93.      An explicit line number is  simply  a  decimal  number,
  94. expressed as a string of digits.
  95.  
  96.      A mark is typed in  as  an  apostrophe  followed  by  a
  97. letter.  Marks must be set before they can be used.  You can
  98. set a mark in visual  command  mode  by  typing  "m"  and  a
  99. letter,  or  you  can  set  it in colon command mode via the
  100. "mark" command.
  101.  
  102.      A forward search is typed in as  a  regular  expression
  103. surrounded  by  slash  characters;  searching  begins at the
  104. default line.  A backward search is typed in  as  a  regular
  105. expression surrounded by question marks; searching begins at
  106. the line before the default line.
  107.  
  108.      If you omit the absolute part, then the default line is
  109. used.
  110.  
  111.      The relative part of a line specifier is typed as a "+"
  112. or  "-"  character followed by a decimal number.  The number
  113. is added to or subtracted from the absolute part of the line
  114. specifier to produce the final line number.
  115.  
  116.      As a special case, the  %  character  may  be  used  to
  117. specify  all lines of the file.  It is roughly equivelent to
  118. saying 1,$.  This can be a handy shortcut.
  119.  
  120.      Some examples:
  121.  
  122.      :p           print the current line
  123.      :37p         print line 37
  124.      :'gp         print the line which contains mark g
  125.      :/foo/p      print the next line that contains "foo"
  126.      :$p          print the last line of the file
  127.  
  128.  
  129.  
  130.                       August 10, 1992
  131.  
  132.  
  133.  
  134.  
  135.  
  136. 3-3                 COLON MODE COMMANDS                  3-3
  137.  
  138.  
  139.      :20,30p      print lines 20 through 30
  140.      :1,$p        print all lines of the file
  141.      :%p          print all lines of the file
  142.      :/foo/-2,+4p print 5 lines around the next "foo"
  143.  
  144.  
  145. _3._2.  _T_e_x_t _E_n_t_r_y _C_o_m_m_a_n_d_s
  146.  
  147.         [line] append
  148.         [line][,line] change ["x]
  149.         [line] insert
  150.  
  151.  
  152.      The append command inserts  text  after  the  specified
  153. line.
  154.  
  155.      The insert command inserts text  before  the  specified
  156. line.
  157.  
  158.      The change command copies the range of lines into a cut
  159. buffer,  deletes  them,  and  inserts new text where the old
  160. text used to be.
  161.  
  162.      For all of these commands, you indicate the end of  the
  163. text  you're  inserting  by hitting ^D or by entering a line
  164. which contains only a period.
  165.  
  166. _3._3.  _C_u_t & _P_a_s_t_e _C_o_m_m_a_n_d_s
  167.  
  168.         [line][,line] delete ["x]
  169.         [line][,line] yank ["x]
  170.         [line] put ["x]
  171.         [line][,line] copy line
  172.         [line][,line] to line
  173.         [line][,line] move line
  174.  
  175.  
  176.      The delete command copies the specified range of  lines
  177. into a cut buffer, and then deletes them.
  178.  
  179.      The yank command copies the specified  range  of  lines
  180. into a cut buffer, but does *not* delete them.
  181.  
  182.      The put command inserts text from a  cut  buffer  after
  183. the specified line.
  184.  
  185.      The copy and to commands yank the  specified  range  of
  186. lines and then immediately paste them after some other line.
  187.  
  188.      The move command deletes the specified range  of  lines
  189. and  then immediately pastes them after some other line.  If
  190. the destination line comes after the deleted text,  then  it
  191. will  be  adjusted  automatically to account for the deleted
  192. lines.
  193.  
  194.  
  195.  
  196.                       August 10, 1992
  197.  
  198.  
  199.  
  200.  
  201.  
  202. 3-4                 COLON MODE COMMANDS                  3-4
  203.  
  204.  
  205. _3._4.  _D_i_s_p_l_a_y _T_e_x_t _C_o_m_m_a_n_d_s
  206.  
  207.         [line][,line] print
  208.         [line][,line] list
  209.         [line][,line] number
  210.  
  211.  
  212.      The print  command  displays  the  specified  range  of
  213. lines.
  214.  
  215.      The  number  command  displays  the  lines,  with  line
  216. numbers.
  217.  
  218.      The list command also displays them, but it is  careful
  219. to make control characters visible.
  220.  
  221. _3._5.  _G_l_o_b_a_l _O_p_e_r_a_t_i_o_n_s _C_o_m_m_a_n_d_s
  222.  
  223.         [line][,line] global /regexp/ command
  224.         [line][,line] vglobal /regexp/ command
  225.  
  226.  
  227.      The global command searches through the  lines  of  the
  228. specified  range  (or  through the whole file if no range is
  229. specified) for lines that contain a  given  regular  expres-
  230. sion.   It  then moves the cursor to each of these lines and
  231. runs some other command on them.
  232.  
  233.      The vglobal command is similar,  but  it  searches  for
  234. lines that _d_o_n'_t contain the regular expression.
  235.  
  236. _3._6.  _L_i_n_e _E_d_i_t_i_n_g _C_o_m_m_a_n_d_s
  237.  
  238.         [line][,line] join[!]
  239.         [line][,line] ! program
  240.         [line][,line] <
  241.         [line][,line] >
  242.         [line][,line] substitute /regexp/replacement/[p][g][c]
  243.         [line][,line] &
  244.  
  245.  
  246.      The join command catenates all lines in  the  specified
  247. range  together to form one big line.  If only a single line
  248. is specified, then the following line is catenated onto  it.
  249. The  normal  ":join"  inserts  one or two spaces between the
  250. lines; the ":join!" variation (with a  '!')  doesn't  insert
  251. spaces.
  252.  
  253.      The ! command runs  an  external  filter  program,  and
  254. feeds the specified range of lines to it's stdin.  The lines
  255. are then replaced by the output of the  filter.   A  typical
  256. example would be ":'a,'z!sort" to sort the lines 'a,'z.
  257.  
  258.      The < and > commands shift the specified range of lines
  259.  
  260.  
  261.  
  262.                       August 10, 1992
  263.  
  264.  
  265.  
  266.  
  267.  
  268. 3-5                 COLON MODE COMMANDS                  3-5
  269.  
  270.  
  271. left  or  right,  normally  by the width of 1 tab character.
  272. The "shiftwidth" option determines the shifting amount.
  273.  
  274.      The substitute command finds the regular expression  in
  275. each  line,  and replaces it with the replacement text.  The
  276. "p" option causes the altered lines to be printed.  The  "g"
  277. option permits all instances of the regular expression to be
  278. found & replaced.  (Without "g", only the  first  occurrence
  279. in each line is replaced.) The "c" option asks for confirma-
  280. tion before each substitution.
  281.  
  282.      The & command repeats the  previous  substitution  com-
  283. mand.   Actually, "&" is equivelent to "s//~/" with the same
  284. options as last time.  It  searches  for  the  last  regular
  285. expression  that you specified for any purpose, and replaces
  286. it with the the same text that was used in the previous sub-
  287. stitution.
  288.  
  289. _3._7.  _U_n_d_o _C_o_m_m_a_n_d
  290.  
  291.         undo
  292.  
  293.  
  294.      The undo command restores the file to the state it  was
  295. in before your most recent command which changed text.
  296.  
  297. _3._8.  _C_o_n_f_i_g_u_r_a_t_i_o_n & _S_t_a_t_u_s _C_o_m_m_a_n_d_s
  298.  
  299.         map[!] [key mapped_to]
  300.         unmap[!] key
  301.         abbr [word expanded_form_of_word]
  302.         unabbr word
  303.         digraph[!] [XX [Y]]
  304.         set [options]
  305.         mkexrc
  306.         [line] mark "x
  307.         visual
  308.         version
  309.         [line][,line] =
  310.         file [file]
  311.         source file
  312.         @ "x
  313.         color [when] [["light"] color] ["on" color]
  314.  
  315.  
  316.      The map command allows you to configure Elvis to recog-
  317. nize  your  function  keys,  and  treat  them as though they
  318. transmitted some other  sequence  of  characters.   Normally
  319. this  mapping  is done only when in the visual command mode,
  320. but with the [!] present it will map keys  under  input  and
  321. replace  modes  as well.  When this command is given with no
  322. arguments, it prints a table showing all mappings  currently
  323. in effect.  When called with two arguments, the first is the
  324. sequence that your function key really sends, and the second
  325.  
  326.  
  327.  
  328.                       August 10, 1992
  329.  
  330.  
  331.  
  332.  
  333.  
  334. 3-6                 COLON MODE COMMANDS                  3-6
  335.  
  336.  
  337. is  the  sequence  that you want Elvis to treat it as having
  338. sent.  As a special case, if the first argument is a  number
  339. then  Elvis  will  map  the  corresponding function key; for
  340. example, ":map 7 dd" will cause the <F7>  key  to  delete  a
  341. line.
  342.  
  343.      The unmap command removes  key  definitions  that  were
  344. made via the map command.
  345.  
  346.      The abbr command is used  to  define/list  a  table  of
  347. abbreviations.  The table contains both the abbreviated form
  348. and the fully spelled-out form.  When you're in visual input
  349. mode,  and  you  type  in  the  abbreviated form, Elvis will
  350. replace the abbreviated  form  with  the  fully  spelled-out
  351. form.   When  this  command  is called without arguments, it
  352. lists the table; with two or more arguments, the first argu-
  353. ment  is  taken as the abbreviated form, and the rest of the
  354. command line is the fully-spelled out form.
  355.  
  356.      The unabbr command deletes entries from the abbr table.
  357.  
  358.      The digraph command allows you to display  the  set  of
  359. digraphs  that  Elvis is using, or add/remove a digraph.  To
  360. list the set of digraphs, use the digraph  command  with  no
  361. arguments.   To  add  a digraph, you should give the digraph
  362. command two arguments.  The first argument is the two  ASCII
  363. characters  that  are to be combined; the second is the non-
  364. ASCII  character  that  they   represent.    The   non-ASCII
  365. character's most significant bit is automatically set by the
  366. digraph command, unless to append a ! to the  command  name.
  367. Removal  of a digraph is similar to adding a digraph, except
  368. that you should leave off the second argument.
  369.  
  370.      The set command  allows  you  examine  or  set  various
  371. options.   With  no  arguments,  it  displays  the values of
  372. options that have been changed.  With  the  single  argument
  373. "all"  it  displays the values of all options, regardless of
  374. whether they've been explicitly set or not.  Otherwise,  the
  375. arguments are treated as options to be set.
  376.  
  377.      The mkexrc command saves the current configuration to a
  378. file called ".exrc" in the current directory.
  379.  
  380.      The mark command defines a named mark  to  refer  to  a
  381. specific  place in the file.  This mark may be used later to
  382. specify lines for other commands.
  383.  
  384.      The visual command puts the editor  into  visual  mode.
  385. Instead of emulating ex, Elvis will start emulating vi.
  386.  
  387.      The version command tells  you  that  what  version  of
  388. Elvis this is.
  389.  
  390.      The = command tells you what line you specified, or, if
  391.  
  392.  
  393.  
  394.                       August 10, 1992
  395.  
  396.  
  397.  
  398.  
  399.  
  400. 3-7                 COLON MODE COMMANDS                  3-7
  401.  
  402.  
  403. you  specified  a range of lines, it will tell you both end-
  404. points and the number of lines included in the range.
  405.  
  406.      The file command  tells  you  the  name  of  the  file,
  407. whether  it  has  been  modified, the number of lines in the
  408. file, and the current line number.  You can also use  it  to
  409. change the name of the current file.
  410.  
  411.      The source command reads a sequence of colon mode  com-
  412. mands from a file, and interprets them.
  413.  
  414.      The @ command executes the contents of a cut-buffer  as
  415. EX commands.
  416.  
  417.      The color command only works under MS-DOS,  or  if  you
  418. have  an  ANSI-compatible  color terminal.  It allows you to
  419. set the foreground and background colors for different types
  420. of  text: normal, bold, italic, underlined, standout, pop-up
  421. menu, and visible selection.  By  default,  it  changes  the
  422. "normal"  colors; to change other colors, the first argument
  423. to the :color command should be the first letter of the type
  424. of  text  you want.  The syntax for the colors themselves is
  425. fairly intuitive.  For example, ":color light cyan on  blue"
  426. causes  normal  text to be displayed in light cyan on a blue
  427. background, and ":color b bright white" causes bold text  to
  428. be  displayed  in  bright  white  on a blue background.  The
  429. background color always defaults to the  current  background
  430. color  of  normal  text.   Your  first  :color  command _m_u_s_t
  431. specify both the foreground and background for normal text.
  432.  
  433. _3._9.  _M_u_l_t_i_p_l_e _F_i_l_e _C_o_m_m_a_n_d_s
  434.  
  435.         args [files]
  436.         next[!] [files]
  437.         Next[!]
  438.         previous[!]
  439.         rewind[!]
  440.  
  441.  
  442.      When you invoke Elvis from your shell's  command  line,
  443. any filenames that you give to Elvis as arguments are stored
  444. in the args list.  The args command will display this  list,
  445. or define a new one.
  446.  
  447.      The next command switches from the current file to  the
  448. next  one in the args list.  You may specify a new args list
  449. here, too.
  450.  
  451.      The Next and previous commands (they're really  aliases
  452. for  the  same  command) switch from the current file to the
  453. preceding file in the args list.
  454.  
  455.      The rewind command switches from the  current  file  to
  456. the first file in the args list.
  457.  
  458.  
  459.  
  460.                       August 10, 1992
  461.  
  462.  
  463.  
  464.  
  465.  
  466. 3-8                 COLON MODE COMMANDS                  3-8
  467.  
  468.  
  469. _3._1_0.  _S_w_i_t_c_h_i_n_g _F_i_l_e_s
  470.  
  471.         edit[!] [file]
  472.         tag[!] tagname
  473.  
  474.  
  475.      The edit command allows to switch from the current file
  476. to  some  other  file.  This has nothing to do with the args
  477. list, by the way.
  478.  
  479.      The tag command looks up a  given  tagname  in  a  file
  480. called  "tags".  This tells it which file the tag is in, and
  481. how to find it in that file.  Elvis  then  switches  to  the
  482. tag's file and finds the tag.
  483.  
  484. _3._1_1.  _W_o_r_k_i_n_g _w_i_t_h _a _C_o_m_p_i_l_e_r
  485.  
  486.         cc [files]
  487.         make [target]
  488.         errlist[!] [errlist]
  489.  
  490.  
  491.      The cc and  make  commands  execute  your  compiler  or
  492. "make"  utility  and redirect any error messages into a file
  493. called "errlist".  By default, cc  is  run  on  the  current
  494. file.  (You should write it before running cc.) The contents
  495. of the "errlist" file are then scanned for  error  messages.
  496. If  an  error  message is found, then the cursor is moved to
  497. the line where the error was detected, and  the  description
  498. of the error is displayed on the status line.
  499.  
  500.      After you've fixed one error, the errlist command  will
  501. move  the cursor to the next error.  In visual command mode,
  502. hitting `*' will do this, too.
  503.  
  504.      You can also create an "errlist" file from  outside  of
  505. Elvis, and use "Elvis -m" to start elvis and have the cursor
  506. moved to the first error.  Note that you don't need to  sup-
  507. ply  a  filename  with "Elvis -m" because the error messages
  508. always say which source file an error is in.
  509.  
  510.      Note: When you use errlist repeatedly  to  fix  several
  511. errors  in  a  single  file,  it  will attempt to adjust the
  512. reported line numbers to  allow  for  lines  that  you  have
  513. inserted  or  deleted.   These adjustments are made with the
  514. assumption that you will  work  though  the  file  from  the
  515. beginning to the end.
  516.  
  517. _3._1_2.  _E_x_i_t _C_o_m_m_a_n_d_s
  518.  
  519.         quit[!]
  520.         wq
  521.         xit
  522.  
  523.  
  524.  
  525.  
  526.                       August 10, 1992
  527.  
  528.  
  529.  
  530.  
  531.  
  532. 3-9                 COLON MODE COMMANDS                  3-9
  533.  
  534.  
  535.      The quit command exits from the editor  without  saving
  536. your file.
  537.  
  538.      The wq command writes your file out, then then exits.
  539.  
  540.      The xit command is similar to the  wq  command,  except
  541. that  xit  won't  bother  to  write your file if you haven't
  542. modified it.
  543.  
  544. _3._1_3.  _F_i_l_e _I/_O _C_o_m_m_a_n_d_s
  545.  
  546.         [line] read file
  547.         [line][,line] write[!] [[>>]file]
  548.  
  549.  
  550.      The read  command  gets  text  from  another  file  and
  551. inserts  it  after the specified line.  It can also read the
  552. output of a program; simply precede the program  name  by  a
  553. '!' and use it in place of the file name.
  554.  
  555.      The write command writes the whole file, or  just  part
  556. of  it,  to some other file.  The !, if present, will permit
  557. the lines to be written even  if  you've  set  the  readonly
  558. option.   If  you  precede the filename by >> then the lines
  559. will be appended to the file.  You can send the lines to the
  560. standard input of a program by replacing the filename with a
  561. '!' followed by the command and its arguments.
  562.  
  563.      Note: Be careful not to confuse ":w!filename"  and  ":w
  564. !command".   To  write  to a program, you must have at least
  565. one blank before the '!'.
  566.  
  567. _3._1_4.  _D_i_r_e_c_t_o_r_y _C_o_m_m_a_n_d_s
  568.  
  569.         cd [directory]
  570.         chdir [directory]
  571.         shell
  572.  
  573.  
  574.      The cd and chdir commands (really  two  names  for  one
  575. command) switch the current working directory.
  576.  
  577.      The shell command starts an interactive shell.
  578.  
  579. _3._1_5.  _D_e_b_u_g_g_i_n_g _C_o_m_m_a_n_d_s
  580.  
  581.         [line][,line] debug[!]
  582.         validate[!]
  583.  
  584.  
  585.      These commands are only available if you compile  Elvis
  586. with the -DDEBUG flag.
  587.  
  588.      The debug command lists statistics for the blocks which
  589.  
  590.  
  591.  
  592.                       August 10, 1992
  593.  
  594.  
  595.  
  596.  
  597.  
  598. 3-10                COLON MODE COMMANDS                 3-10
  599.  
  600.  
  601. contain  the specified range of lines.  If the ! is present,
  602. then the contents of those blocks is displayed, too.
  603.  
  604.      The  validate  command  checks  certain  variables  for
  605. internal  consistency.   Normally it doesn't output anything
  606. unless it detects a problem.  With the !,  though,  it  will
  607. always produce *some* output.
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.                       August 10, 1992
  659.  
  660.  
  661.